Skip to main content

files

Type

function

Summary

List the files in a folder.

Syntax

the [{ detailed | long }] files
files([<targetFolder>[, <outputKind>]])

Description

Return a list of files in the targetFolder, with one file per line. If no targetFolder is specified, list the files in the current folder.

Folders are not included in the list. To get a list of folders, use the folders function.

Aliases (on OS X systems), symbolic links (on Linux systems) and shortcuts (on Windows systems) are included in the list only if they refer to a file.

note

The order that files are listed is platform-dependent. The order may vary between platforms, between filesystems, and even between consecutive calls to the files function. If you need a sorted list, use the sort command.

Short form

When the files is called as a function, or without the long or detailed modifiers, it returns only the file names as a string with one file name per line.

note

On some platforms, file names are permitted to include the linefeed character. Such a file name would be split across more than one line of the string returned by the files function.

Long form

the long files and the detailed files are synonyms. When the files function is called in this form, the return value is a list of files with detailed file attributes.

Each line in the return value is a comma-separated list of file attributes, as follows:

  1. Name. The file name is URL-encoded. To reliably obtain the name use the
   `detailed-utf8` outputKind and decode using the URLDecode function followed
by textDecode. For example, `textDecode(URLDecode(item 1 of tLine), \"utf8\")`.
2. **Size**, in bytes. On OS X systems, this is the size of the
data fork.
3. **Resource fork size**, in bytes. (OS X only).
4. **Creation date**, in seconds. (OS X and Windows only).
5. **Last modification date**, in seconds.
6. **Last access date**, in seconds.
7. **Last backup date**, in seconds.
8. **User owner**. (Linux and OS X only).
9. **Group owner**. (Linux and OS X only).
10. **Permissions**. (Linux and OS X only; see note).
11. **Creator and < fileType|file type:::note[*. (OS X only).

Any attribute that is not relevant to the current platform is left empty.

The access permissions consist of three octal digits, in the same form used for the umask property.

]

Note:* On Windows, the permissions are always reported as "777".

:::

Parameters

NameTypeDescription

targetFolder

String

The folder path to search.

outputKind

enum

Examples

put files(specialFolderPath("documents")) into field "Current Docs"
sort lines of field "Current Docs" international
local tTotalSize
repeat for each line tFileInfo in the detailed files
add item 3 of tFileInfo to tTotalSize
end repeat
answer merge("The files in the current folder use" && \
"[[tTotalSize]] bytes")
local tDiskContents
put the files & return & the folders into \
tDiskContents["the defaultFolder"]
filter tDiskContents["the defaultFolder"] without ".."

function: folders, specialFolderPath, URLDecode, textDecode

glossary: alias, current folder, data fork, folder, function, platform, return, resource fork, shortcut, symbolic link

keyword: long

property: defaultFolder, umask

command: sort

constant: return

Compatibility and Support

Introduced

LiveCode 1.0

OS

mac

windows

linux

ios

android

web

Platforms

desktop

server

mobile

Thank you for your feedback!

Was this page helpful?